iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0

企鵝的第四天

昨天學基礎的權限設定,今天來學一點Linux系統管理的核心方面,理解和管理運行在Linux上的應用程序,GoGo!

1. 進程管理

了解進程和守護進程

  • 進程:正在運行的程序的實例
  • 守護進程:在後台運行的特殊進程,通常提供系統服務

使用ps, top, kill命令

  • ps: 顯示當前運行的進程
    • 常用選項:ps aux(顯示所有進程)
  • top: 實時顯示系統資源使用情況和進程列表
    • 交互式命令:k(殺死進程)、r(改變優先級)
  • kill: 終止進程
    • 使用方法:kill PIDkill -9 PID(強制終止)
      top

前台和後台進程

  • 啟動後台進程:在命令後加 &
  • jobs: 列出後台作業
  • fg: 將後台作業帶到前台
  • bg: 繼續執行暫停的後台作業

1. 啟動長時間運行的後台命令

首先,讓我們啟動一個長時間運行的命令在後台:

sleep 1000 &

這個命令會在後台運行1000秒。系統會返回一個作業號和進程ID(PID),類似這樣:

[1] 481

這裡,1是作業號,481是PID。

2. 使用 jobs 命令查看後台作業

現在,讓我們查看後台作業:

jobs

你應該會看到類似這樣的輸出:

[1]+  Running    sleep 1000 &

3. 使用 ps 命令觀察進程

使用 ps 命令來查看更多關於這個進程的信息:

ps aux

輸出可能類似這樣:

root       481  0.0  0.0   2696  1040 pts/0    S    12:20   0:00 sleep 1000
root       482  0.0  0.0   2696  1020 pts/0    S    12:20   0:00 sleep 1000

ps aux

4. 使用 top 命令觀察進程

現在,讓我們用 top 命令來實時監控這個進程:

top -p 481

(請將 481 替換為實際的 PID)

你會看到一個實時更新的顯示,顯示這個進程的 CPU 和內存使用情況。

按 'q' 退出 top。

5. 將後台作業帶到前台

讓我們將 sleep 命令帶到前台:

fg %1

現在,sleep 命令在前台運行。按 Ctrl+Z 可以暫停它並將其放回後台。

6. 繼續執行暫停的後台作業

如果你剛才按了 Ctrl+Z,現在可以用 bg 命令讓它在後台繼續運行:

bg %1

7. 使用不同的信號終止進程

最後,讓我們嘗試用不同的信號來終止這個進程:

  1. 首先,嘗試溫和地終止進程:
kill 12345  # 替換為實際的 PID
  1. 如果進程沒有響應,可以強制終止:
kill -9 12345  # 替換為實際的 PID
  1. 或者,你可以使用作業號來終止:
kill %1

完成後,再次使用 jobs 命令確認進程已經終止。

2. 系統監控

使用htop進行系統資源監控

  • 安裝htop: apt install htop
  • 啟動htop並熟悉其界面
  • 了解CPU、內存、交換空間的使用情況
htop 界面說明
htop 的界面分為幾個主要部分:

頂部狀態欄:顯示 CPU、內存、交換空間使用概況,以及系統負載。
進程列表:顯示當前運行的進程,包括 PID、用戶、CPU 和內存使用等信息。
底部功能鍵:顯示可用的功能鍵和對應的操作。

htop 基本操作

使用上下箭頭鍵來滾動進程列表
F5:切換樹狀/列表視圖
F6:選擇排序方式
F9:向進程發送信號(如終止進程)
F10 或 q:退出 htop

htop

磁盤使用情況

  • df: 顯示文件系統的磁盤空間使用情況
    • 常用選項:df -h(人類可讀格式)
  • du: 估算文件和目錄的空間使用
    • 常用選項:du -sh *(顯示當前目錄下各項目大小)
      df

網絡監控

  • netstat: 顯示網絡連接、路由表等
    • 常用選項:netstat -tuln(顯示監聽的TCP和UDP端口)
  • ss: 更現代的替代工具,類似netstat
    • 使用方法:ss -tuln
      ss

小結

今天學習如何控制進程、監控系統的一些基礎,至少以後碰到比較不陌生,明天我們看日誌管理相關以及apt/yum安裝套件的管理器。


上一篇
Day17-Linux 基礎入門-3
下一篇
Day19-Linux 基礎入門-5
系列文
從零開始的DevOps猴!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言